
    <?php

       
       header('Content-Type: image/png');
       //画图形
       $im = imagecreatetruecolor(120,30);
       
       //给图像填充颜色
       $bgcolor  =  imagecolorallocate($im, 255 , 255 , 255);

       //画背景并被背景添加颜色
       imagefilledrectangle($im,0,0,120,30,$bgcolor);

       //画点
       for($i=0;$i<500;$i++){

       	$dcolor = imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
        imagesetpixel($im,mt_rand(10,120),mt_rand(10,120),$dcolor);
       }

       //画线
       for($i=0;$i<30;$i++){
	       $l_dcolor = imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
	       //imagearc($im,中点x,中点y,横距离,竖距离,起始角度,结束角度,$l_dcolor);
	       imagearc($im,mt_rand(10,120),mt_rand(10,120),mt_rand(0,120),mt_rand(0,30),mt_rand(-180,180),mt_rand(-180,180),$l_dcolor);
        }

        //定义填充的内容
        $str = '123456789poiuytrewqasdfghjklmnbvcxzLASDFGHJKQWERTYUIOPZXCVBNM';

		//imagefttext($im,尺寸,角度,x坐标,y坐标,颜色,字体文件,字符);
		for($i=0;$i<4;$i++){

			$j = mt_rand(0,strlen($str)-1);//随机范围在填充内容的长度之间获取下标值

			$font = $str[$j];//获取对应下标的字符

      $_SESSION['code'].=$font;//将验证码存储到session实现验证码验证

	        $font_color = imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
	        imagefttext($im,18,0,30*$i,mt_rand(15,25),$font_color,'C:/Windows/Fonts/BRITANIC.TTF',$font);
        }
		ob_end_clean(); 
       imagepng ($im);//生成图片

       //销毁图片
       imagedestroy($im);

